home *** CD-ROM | disk | FTP | other *** search
- SUB DoLine (X1#, Y1#, X2#, Y2#) STATIC
-
- IF ABS(X2# - X1#) < .01 THEN 'calc slope of line
- My# = SGN(Y2# - Y1#) 'based on configuration
- Mx# = 0 'of the end points
- ELSE
- M# = (Y2# - Y1#) / (X2# - X1#)
- IF ABS(M#) > 1 THEN
- My# = SGN(Y2# - Y1#)
- Mx# = SGN(X2# - X1#) / ABS(M#)
- ELSE
- My# = M# * SGN(Y2# - Y1#)
- Mx# = SGN(X2# - X1#)
- END IF
- END IF
-
- DrawPixel:
-
- IF POINT(X1#, Y1#) = 0 THEN PSET(X1#, Y1#) 'plot if black
-
- X1# = X1# + Mx# 'increment current pixel on screen
- Y1# = Y1# + My# ' whether or not a point was plotted
- IF INT(X1#) = INT(X2#) AND INT(Y1#) = INT(Y2#) THEN _
- EXIT SUB 'we reached the end of the line
-
- GOTO DrawPixel 'attempt to draw the next pixel
-
- END SUB
-